"""
collect 算子
功能：将 RDD 中的所有数据以 Python 对象的形式返回到 Driver 端、
返回值：Python 对象（列表）
应用场景：数据输出，数据展示
"""
from pyspark import SparkConf, SparkContext
import os
os.environ['PYSPARK_PYTHON'] = "D:/dev/python/python310/python.exe"
conf = SparkConf().setMaster("local[*]").setAppName("collect")
sc = SparkContext(conf=conf)
# 创建 RDD
rdd = sc.parallelize([1, 2, 3, 4, 5])
# collect 方法
# collect 方法可以将 RDD 中的所有数据以 Python 对象的形式返回到 Driver 端
data = rdd.collect()
print(data)


"""
reduce 算子
功能：对 RDD 中的所有数据进行聚合操作
返回值：聚合后的结果
应用场景：数据计算，数据分析
"""
num = rdd.reduce(lambda x, y: x + y)
print(num)

"""
take 算子
功能：获取 RDD 中的前 n 个元素
返回值：前 n 个元素组成的列表
应用场景：数据预览，数据采样
"""
data2 = rdd.take(3)
print(data2)

"""
count 算子
功能：计算 RDD 中元素的个数
返回值：元素个数
应用场景：数据统计，数据分析
"""
count = rdd.count()
print(count)